package converters;

import entidades.Usuario;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
import persistencia.RepositorioJPAUsuarios;


@FacesConverter(value = "UsuarioConverter")
public class ConverterUsuario implements Converter {

	public RepositorioJPAUsuarios repositorio = new RepositorioJPAUsuarios();

	public Object getAsObject(FacesContext facesContext, UIComponent component,
			String submittedValue) {
		if (submittedValue.trim().equals("")) {
			return null;
		} else {
			try {
				
                               
                                Usuario usuario = (Usuario)repositorio.getById(submittedValue);
                               return usuario;

			} catch (NumberFormatException exception) {
				throw new ConverterException(new FacesMessage(
						FacesMessage.SEVERITY_ERROR, "Conversion Error",
						"Não é um usuario válido"));
			}
		}	
	}

	public String getAsString(FacesContext facesContext, UIComponent component,
			Object value) {
		if (value == null || value.equals("")) {
			return "";
		} else {
			return String.valueOf(((Usuario) value).getLogin());
		}
	}

}